home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / amortize.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-02-02  |  7.4 KB  |  71 lines

  1. 10  REM *******************************************
  2. 20  REM * LOAN AMORTIZATION PROGRAM FOR IBM PC    *
  3. 30  REM * WRITTEN BY STEPHEN BERG                 *
  4. 40  REM * VOICE: 818-701-0256                     *
  5. 50  REM * IF YOU HAVE ANY PROBLEMS OR SUGGESTIONS *
  6. 60  REM * PLEASE CALL.                            *
  7. 70  REM *******************************************
  8. 80  KEY OFF:CLS:LOCATE 5,20:COLOR 14,0,3
  9. 90  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE":LOCATE 6,20
  10. 100  PRINT "OPEN                                      OPEN":LOCATE 7,20
  11. 110  PRINT "OPEN  LOAN AMORTIZATION SCHEDULE PROGRAM  OPEN":LOCATE 8,20
  12. 120  PRINT "OPEN                                      OPEN":LOCATE 9,20
  13. 130  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD":COLOR 7:LOCATE 20,24
  14. 140  COLOR 15:INPUT "Press <RETURN> to continue......",GB$:COLOR 7:CLS
  15. 150  DIM C$(40),M$(12),TT$(40)
  16. 160  M$(1)="JANUARY ":M$(2)="FEBRUARY ":M$(3)="MARCH ":M$(4)="APRIL ":M$(5)="MAY ":M$(6)="JUNE ":M$(7)="JULY "
  17. 170  M$(8)="AUGUST ":M$(9)="SEPTEMBER ":M$(10)="OCTOBER ":M$(11)="NOVEMBER ":M$(12)="DECEMBER "
  18. 180  A$="\          \ ## ###,###,###.## ###,###,###.## ###,###,###.## ###,###,###.##"
  19. 190  R$="\          \    ###,###,###.## ###,###,###.## ###,###,###.## ###,###,###.##"
  20. 200  LOCATE 5,10:COLOR 12
  21. 210  PRINT "Do you wish the output sent to the (C)rt or to the (P)rinter?"
  22. 220  LOCATE 15,35:COLOR 15
  23. 230  INPUT "C or P";P$:COLOR 7:CLS
  24. 240  IF LEFT$(P$,1)="C" OR LEFT$(P$,1)="c" THEN P$="C":GOTO 270
  25. 250  IF LEFT$(P$,1)="p" OR LEFT$(P$,1)="P" THEN P$="P":GOTO 270
  26. 260  GOTO 200
  27. 270  LOCATE 5,20:COLOR 12
  28. 280  PRINT "Does this loan have a BALLOON payment?"
  29. 290  LOCATE 15,30:COLOR 15
  30. 300  INPUT "(Y)es or (N)o";BL$:COLOR 7:CLS
  31. 310  IF LEFT$(BL$,1)="Y" OR LEFT$(BL$,1)="y" THEN GOSUB 1580
  32. 320  LOCATE 5,10:COLOR 12
  33. 330  PRINT "Enter MONTH # in which payment starts (1-12 inclusive)"
  34. 340  LOCATE 15,30:COLOR 15
  35. 350  INPUT "Month #";M%:COLOR 7:CLS
  36. 360  LOCATE 5,10:COLOR 12
  37. 370  PRINT "Enter LAST TWO digits of YEAR in which payment starts (00-99)"
  38. 380  LOCATE 15,30:COLOR 15
  39. 390  INPUT "Year #";Y%:COLOR 7:CLS
  40. 400  LOCATE 5,20:COLOR 2
  41. 410  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE":LOCATE 6,20
  42. 420  PRINT "OPEN          PAYOUT TYPE MENU            OPEN":LOCATE 7,20
  43. 430  PRINT "OPEN  (P) Equal payment                   OPEN":LOCATE 8,20
  44. 440  PRINT "OPEN  (R) Equal reduction                 OPEN":LOCATE 9,20
  45. 450  PRINT "OPEN  (I) Interest only                   OPEN":LOCATE 10,20
  46. 460  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD":COLOR 15:LOCATE 20,28
  47. 470  INPUT "Payout type (P/R/I)";T$
  48. 480  COLOR 7:CLS
  49. 490  GTIN#=0:GTRE#=0:GT=0
  50. 500  IF LEFT$(T$,1)="p" OR LEFT$(T$,1)="P" THEN T$="P":GOSUB 1640
  51. 510  IF T$<>"P" THEN 750
  52. 520  IF PAY#<>0 THEN 550
  53. 530  R#=APR#/PP%:II#=(1+R#)^(PP%*YEAR):FF#=(R#*II#)/(II#-1):PAY#=FF#*LO#
  54. 540  D#=100*PAY#-INT(100*PAY#):IF D#>0.5 THEN PAY#=PAY#-D#/100+0.01 ELSE PAY#=PAY#-D#/100
  55. 550  GOSUB 960
  56. 560  R#=APR#/PP%:N%=PP%*YEAR:IF BL$="Y" THEN LET N%=BB%
  57. 570  INC=12/PP%
  58. 580  IS#=0:RS#=0:GOSUB 1370
  59. 590  FOR B=1 TO N%-1:K%=K%+1:IF K%=PP%+1 AND PP%>1 THEN K%=0:GOSUB 1200
  60. 600  IN#=R#*LO#:D#=100*IN#-INT(100*IN#):IF D#>0.5 THEN IN#=IN#-D#/100+0.01 ELSE IN#=IN#-D#/100
  61. 610  RE#=PAY#-IN#:LO#=LO#-RE#:IS#=IS#+IN#:RS#=RS#+RE#:C=B:GOSUB 1300
  62. 620  IF PP%=1 THEN Y%=Y%+1
  63. 630  IF Y%>=100 THEN Y%=Y%-100
  64. 640  NEXT
  65. 650  IF K%=PP% AND PP%>1 THEN K%=0:GOSUB 1200
  66. 660  IF PP%=12 AND M%=2 THEN K%=1 ELSE K%=K%+1
  67. 670  IF PP%=4 AND M%>=7 THEN GOTO 700
  68. 680  IF PP%=4 AND M%>=4 THEN K%=1
  69. 690  IF PP%=2 AND M%>=7 THEN K%=1
  70. 700  IN#=R#*LO#:RE#=LO#:LO#=0
  71.